/*
 * IStreetModel.java
 * business
 *
 * Created by ChenTao on 2016/9/9.
 *
 * Copyright (c) 2016年 yidiandao. All rights reserved.
 */

package com.yidiandao.business.data.model;

import com.yidiandao.business.data.bean.Goods;
import com.yidiandao.business.data.recyclertype.DoubleBrand;
import com.yidiandao.business.data.recyclertype.DoubleGoods;

import java.util.List;

/** 品牌街 Model */
public interface IStreetModel {

    /** 加载首页-品牌街 */
    void loadBrandStreet(boolean isRefreshing, String pagerTag, OnLoadBranStreetListener listener);

    void loadStreetNewGoodsList(
            boolean isRefreshing,
            String brandId,
            String supplierId,
            String tag,
            OnLoadGoodsListener listener);

    void loadStreetPriceGoodsList(
            boolean isRefreshing,
            String brandId,
            String supplierId,
            boolean isSortUp,
            String tag,
            OnLoadGoodsListener listener);

    void loadStreetSalesGoodsList(
            boolean isRefreshing,
            String brandId,
            String supplierId,
            String tag,
            OnLoadGoodsListener listener);

    interface OnLoadBranStreetListener {

        void onSuccess(List<DoubleBrand> brandList, boolean emptyResult, boolean hasMore);

        void onFailed();

        void onFinal();
    }

    interface OnLoadGoodsListener {

        void onSuccess(
                List<Goods> goodsList,
                List<DoubleGoods> goodsGridList,
                boolean emptyResult,
                boolean hasMoreData);

        void onFailed();

        void onFinal();
    }
}
